草庐IT

android - GoogleSignInAccount 返回 null

全部标签

c# - 当路径太长时,File.Exists() 错误地返回 false

我目前正在开发一个遍历各种目录的程序,以确保使用File.Exists()存在特定文件。应用程序一直声称某些文件不存在,而实际存在,我最近发现这个错误是由于路径太长造成的。我知道有一些关于SO的问题可以解决File.Exists()返回不正确的值,但似乎没有一个可以解决这个特定问题。重命名目录和文件以缩短路径并不是一个真正的选择,所以我现在不确定该怎么做。是否有解决此问题的变通方法?正在使用的代码没什么特别的(我删除了一些不相关的代码),但我会在下面包含它以防万一。privatevoidcheckFile(stringpath){if(!File.Exists(path))Consol

c# - 为什么返回集合接口(interface)而不是具体类型?

这个问题在这里已经有了答案:ListorIList[closed](18个答案)关闭8年前。我在其他人的代码中注意到,返回通用集合的方法几乎总是返回一个接口(interface)(例如IEnumerable或IList)而不是具体的实现。我有两个相关的问题。首先,为什么(如果有的话)返回接口(interface)更好?其次,是否有包含Sort方法的集合接口(interface)(如List那样)?

c# - LINQ Order By Descending with Null Values on Bottom

这个问题在这里已经有了答案:LINQorderbynullcolumnwhereorderisascendingandnullsshouldbelast(10个答案)关闭8年前。我有这样的表达:troubletickets=db.ServiceTickets.Include(t=>t.Company).Include(t=>t.UserProfile);troubletickets.OrderByDescending(t=>t.UserProfile!=null?t.UserProfile.FirstName:"ZZZ");我必须检查UserProfile是否为null,因为如果不这样

c# - 为什么 C# 编译器不抛出 null 的逻辑比较?

昨天我和一个friend一起吃午饭,他们提示C#中的null。他说null是不合逻辑的。我决定验证他的说法,所以我测试了一些简单的逻辑命题:Console.WriteLine(null==null);//True//Console.WriteLine(null==!!null);//BOOMConsole.WriteLine(10>=null);//FalseConsole.WriteLine(10=null));//TrueConsole.WriteLine(!(10检查相等性似乎很简单,这正是我所期望的。然而,大于/小于语句是逻辑上的矛盾,我觉得这很令人困惑!这些不应该扔吗?否定操

c# - 为什么 ReferenceEquals(s1,s2) 返回 true

Strings1="Hello";Strings2="Hello";这里s1,s2是不同的,但是ReferenceEquals()返回true的原因 最佳答案 这是由于interning-CLI自动重新使用获得的字符串作为文字(即直接来自您的源代码的字符串)。请注意,如果您这样做了:char[]chars={'h','e','l','l','o'};strings1=newstring(chars);strings2=newstring(chars);它们不会是相同的字符串实例,因为它们不是来自文字。这是针对LdstrILinstr

c# - 为什么 Interlocked.Add() 方法必须返回一个值?

publicstaticintAdd(refintlocation1,intvalue)我试图在多线程场景中使用Interlocked.Add(refintlocation1,intvalue)方法以原子方式添加到数字。但是我对自己有一个疑问:为什么该方法再次返回location1值?相反,我们可以直接使用作为“ref”传递的变量。下面是一些伪代码:inta=6;intb=7;//somethingelseInterlocked.Add(refa,b);//Usethevariable'a'here. 最佳答案 因为变量refa可能

c# - 是否 (HttpContext.Current.User != null) 足以假设 FormsAuthentication 已对用户进行身份验证

在ASP.NET(2.0)应用程序中,我使用FormsAuthentication。在Global.asax/Application_AuthenticateRequest方法中,我检查HttpContext.Current.User是否为空。这是否足以了解表单例份验证cookie是否存在、票证是否过期以及表单例份验证机制是否已完成验证用户的工作?我需要这个,因为我在该应用程序中有某些页面,有时不需要访问身份验证(基于某些条件),我将它们放在web.config中的单独“位置”指令中,以便将它们从“捕获所有”表单例份验证中排除。即我正在尝试检查Application_Authentic

C# DateTime - 如何检查时间部分是否为 NULL?

除了检查小时为0、分钟为0和秒为0之外,是否有任何简单的方法来检查DateTime值的时间部分是否为NULL?谢谢。 最佳答案 我发现这非常可读:varisTimeNull=(myDateTime.TimeOfDay==TimeSpan.Zero); 关于C#DateTime-如何检查时间部分是否为NULL?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7360750/

c# - 如何指示何时故意忽略返回值

在某些使用C/C++的情况下,我可以在语法上向编译器指示故意忽略返回值:intSomeOperation(){//Dotheoperationreturnreport_id;}intmain(){//Weexecutetheoperation,butinthisparticularcontextwe//havenouseofthereportidreturned.(void)SomeOperation();}我发现这是一种公平的做法,首先因为大多数编译器不会在这里生成警告,其次因为它明确地向future的开发人员表明作者有意识地选择忽略返回。它使作者的思路不含糊。据我所知,C#编译器不

c# - 从 LINQ 查询结果返回单个属性

以下表达式返回一个联系人-具有数十个属性的整个联系人。这很好,但理想情况下,我希望返回的只是联系人的ID(contact.contactId)属性。我该怎么做?varassocOrg=Contacts.Where(x=>x.ContactTypeID==2&&x.OrganizationName=="COMPANYXYZ"); 最佳答案 varresult=Contacts.Where(x=>...).Select(x=>x.ContactID);或varresult=fromxinContactswherex.ContactTyp